UNPKG

@alphabite/medusa-wishlist

Version:
85 lines 7.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GET = GET; exports.PUT = PUT; exports.DELETE = DELETE; const utils_1 = require("@medusajs/framework/utils"); const wishlist_1 = require("../../../../modules/wishlist"); const utils_2 = require("../../../../utils/utils"); //-----Retrieves a specific wishlist by ID-----// async function GET(req, res) { const logger = req.scope.resolve("logger"); const { id } = req.params; const customer_id = req?.auth_context?.actor_id; const { items_fields } = req.validatedQuery; const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE); const options = wishlistService._options; if (!options.allowGuestWishlist && !customer_id) { throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Guest wishlists are now allowed"); } try { const query = req.scope.resolve("query"); const { data } = await query.graph({ entity: "wishlist", filters: { id, }, ...req.queryConfig, fields: ["*", ...(options?.wishlistFields || [])], }); const wishlist = data?.[0]; if (!wishlist) { throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Wishlist with ID ${id} not found`); } if (wishlist?.customer_id && wishlist?.customer_id !== customer_id) { throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "You are not authorized to access this wishlist"); } const { data: items, metadata: items_metadata } = await query.graph({ entity: "wishlist_item", filters: { wishlist_id: wishlist.id }, fields: [...utils_2.defaultItemsFields, ...(options?.wishlistItemsFields || []), ...(items_fields || [])], pagination: { take: options?.includeWishlistItemsTake || 5, skip: 0, }, }); return res.status(200).json({ ...wishlist, items_count: items_metadata?.count, items }); } catch (error) { logger.error("Error fetching wishlists:", error); return res.status(500).end(); } } async function PUT(req, res) { const logger = req.scope.resolve("logger"); const input = req.body; const { id } = req.params; try { const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE); const updated_wishlist = await wishlistService.updateWishlists({ id, ...input, }); return res.status(200).json(updated_wishlist); } catch (error) { logger.error("Update wishlists failed:", error); return res.status(500).end(); } } async function DELETE(req, res) { const logger = req.scope.resolve("logger"); const { id } = req.params; try { const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE); await wishlistService.deleteWishlists({ id }); return res.status(200).json({ id, }); } catch (error) { logger.error("Wishlist deleting failed.", error); return res.status(500).end(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBVUEsa0JBb0RDO0FBRUQsa0JBdUJDO0FBT0Qsd0JBa0JDO0FBL0dELHFEQUF3RDtBQUl4RCwyREFBK0Q7QUFFL0QsbURBQTZEO0FBRTdELGlEQUFpRDtBQUMxQyxLQUFLLFVBQVUsR0FBRyxDQUFDLEdBQTJELEVBQUUsR0FBNkI7SUFDbEgsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDMUIsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUM7SUFDaEQsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUM7SUFFNUMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXdCLDBCQUFlLENBQUMsQ0FBQztJQUNsRixNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO0lBRXpDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoRCxNQUFNLElBQUksbUJBQVcsQ0FBQyxtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFekMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNqQyxNQUFNLEVBQUUs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